#ifndef NANE_CFGSERIALIZATIONPROTOCOL_H
#   define NANE_CFGSERIALIZATIONPROTOCOL_H

#   include "nane/SerializeSystem/ISerializeSystem.h"
#   include "nane/core/crt/FileSystem.h"

namespace nane
{
    class CfgSerializationProtocol
        : public ISerializationProtocol
    {
    public:
        CfgSerializationProtocol( const OutputPtr& _output );
        ~CfgSerializationProtocol();

    public:
        bool Serialize( const char* _tag );
        bool Serialize( const char* _tag, int32 _data );
        bool Serialize( const char* _tag, uint32 _data );
        bool Serialize( const char* _tag, float _data );
        bool Serialize( const char* _tag, bool _data );
        bool Serialize( const char* _tag, const char* _data );

    private:
        OutputPtr m_output;
    };
}   // namespace nane

#endif  // NANE_CFGSERIALIZATIONPROTOCOL_H
